Skip to content

[Feat] Recoloring / Spray Paint#81

Open
honeyed-lemons wants to merge 13 commits intoTheDenSS14:masterfrom
honeyed-lemons:recoloring
Open

[Feat] Recoloring / Spray Paint#81
honeyed-lemons wants to merge 13 commits intoTheDenSS14:masterfrom
honeyed-lemons:recoloring

Conversation

@honeyed-lemons
Copy link
Copy Markdown
Contributor

@honeyed-lemons honeyed-lemons commented Mar 25, 2026

About the PR

Added spray paint and the systems regarding it!

Why / Balance

Recoloring and painting things is fun!!! It's great for RP and mapping, and this system specifically can be used to have loads of different recoloring systems, like say, dye or loadout items being recolored!

Technical details

Adds the RecolorSystem, and multiple components and systems relating to it.

RecoloredComponent and RecolorSystem handles recolored entities.
RecolorApplierComponent and RecolorSystem.Applier handles recolor appliers (think spray paint)
RecolorRemoverComponent and RecolorSystem.Remover handles recolor removers (think soap)

Then there's a bunch of misc systems for ui and such.

The way recoloring is handled is quite simple:

Recolored component stores RecolorData, which contains the color, shaders, etc for the entity to recolor to
RecolorVisualizerSystem takes that information and applies it to the sprite, be it equipment, inhands, or just a regular old sprite. (I had to do it in three different fucking ways because the way sprites work sucks)

Do note however that removing recoloring does NOT restore original shaders or colors because sprite component is CLIENT ONLY AND I CANT GET THE DATA!!!!!!!!!

Media

https://cdn.discordapp.com/attachments/1449349771889348699/1486180856216289542/2026-03-24_21-49-47.mp4?ex=69c49148&is=69c33fc8&hm=32f459f4117dd19f895246603658a828c6c67a828666533c46d8dac2a8507478&

Requirements

  • I have read and am following the Pull Request and Changelog Guidelines.
  • I have added media to this PR or it does not require an in-game showcase.
  • I have tested my changes and additions in-game.

Licensing

  • All code in this pull request can be licensed to MIT.
  • (OPTIONAL) I give permission to seeing this feature upstreamed to Macrocosm in the future.

Breaking changes

N/A

Changelog

🆑 honeyed-lemons, portfiend

  • add: Added spray paint! Go crazy making all sorts of things all sorts of colors!
  • tweak: Soap can be used to clean all kinds of paint off of items!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 25, 2026

RSI Diff Bot; head commit b0c89df merging into d3c99b9
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/_DEN/Objects/Tools/spray-paint.rsi

State Old New Status
icon-rainbow Added
icon Added
spray-can-base Added
spray-can-color-closed Added
spray-can-color-open Added
spray-can-rainbow-cap Added
spray-can-rainbow Added

Edit: diff updated after b0c89df

@honeyed-lemons honeyed-lemons changed the title Recoloring [Feat] Recoloring / Spray Paint Mar 26, 2026
@honeyed-lemons honeyed-lemons marked this pull request as ready for review March 26, 2026 06:38
@honeyed-lemons
Copy link
Copy Markdown
Contributor Author

ready for review! Want lots of eyes on this one chat :)

@MajorMoth
Copy link
Copy Markdown

looks like the desaturated shader path is wrong/the shader is missing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants